

import ctypes

ViSession = ctypes.c_ulong 		# long unsigned int
ViBoolean = ctypes.c_ushort		# short unsigned int
ViRsrc = ctypes.c_char_p 		# char*
ViReal64 = ctypes.c_double		# double
ViInt32 = ctypes.c_long			# long int
ViStatus = ctypes.c_long		# long int
ViConstString = ctypes.c_char_p	# const char*
ViInt8 =  ctypes.c_char  		#	 Binary8 					signed char
ViInt16 = ctypes.c_int  		#Binary16	 short int
ViInt32 = ctypes.c_long 		#Binary32 long int
ViChar = ctypes.POINTER(ViConstString)
ViUInt32 = ctypes.c_ulong
ViAttr = ViUInt32

IVI_ATTR_BASE				   = 1000000L							 
IVI_SPECIFIC_PUBLIC_ATTR_BASE   = (IVI_ATTR_BASE + 150000L)			
NISCOPE_ATTR_FETCH_RELATIVE_TO  = (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 77L)

class wfmInfo(ctypes.Structure):
	_fields_ = [("absoluteInitialX", ViReal64),
				("relativeInitialX", ViReal64),
				("xIncrement	  ", ViReal64),
				("actualSamples   ", ViInt32 ),
				("offset		  ", ViReal64),
				("gain			", ViReal64),
				("reserved1	   ", ViReal64),
				("reserved2	   ", ViReal64)]


#d#efine _VI_FUNC			__stdcall
#d#efine _VI_FUNCC		   __cdecl
#d#efine _VI_FUNCH		   __stdcall

#coupling
IVISCOPE_VAL_TRIGGER_COUPLING_SPECIFIC_EXT_BASE = 1000L
class COUPLING:
	AC					=	0L				
	DC					=	1L				
	GND					=	2L				
	HF_REJECT			=	3L			
	AC_PLUS_HF_REJECT	= 	1001L 

#slope
class SLOPE :
	POSITIVE = 1L
	NEGATIVE = 0L

#Trigger window
class TRIGGER_WINDOW :
	ENTERING_WINDOW = 0
	LEAVING_WINDOW = 1


#/*- Defined values for NISCOPE_ATTR_TV_TRIGGER_SIGNAL_FORMAT -*/
IVISCOPE_VAL_TV_SIGNAL_FORMAT_SPECIFIC_EXT_BASE = 1000L
#// SDTV/EDTV
class TV_TRIGGER_SIGNAL_FORMAT :
	VAL_NTSC 							= 1L							
	VAL_PAL 							= 2L							 
	VAL_SECAM 							= 3L						   
	VAL_M_PAL 							= 1001L						
	VAL_480I_59_94_FIELDS_PER_SECOND 	= 1010L 
	VAL_480I_60_FIELDS_PER_SECOND 		= 1011L	
	VAL_480P_59_94_FRAMES_PER_SECOND 	= 1015L 
	VAL_480P_60_FRAMES_PER_SECOND 		= 1016L	
	VAL_576I_50_FIELDS_PER_SECOND 		= 1020L	
	VAL_576P_50_FRAMES_PER_SECOND 		= 1025L			
	VAL_720P_50_FRAMES_PER_SECOND 		= 1031L	
	VAL_720P_59_94_FRAMES_PER_SECOND 	= 1032L  
	VAL_720P_60_FRAMES_PER_SECOND 		= 1033L	
	VAL_1080I_50_FIELDS_PER_SECOND 		= 1040L   
	VAL_1080I_59_94_FIELDS_PER_SECON 	= 1041L 
	VAL_1080I_60_FIELDS_PER_SECOND 		= 1042L   
	VAL_1080P_24_FRAMES_PER_SECOND 		= 1045L   

#/*- Defined values for NISCOPE_ATTR_TV_TRIGGER_EVENT -*/
class TV_TRIGGER_EVENT :
	FIELD1 		= 1L	 
	FIELD2 		= 2L	 
	ANY_FIELD 	= 3L   
	ANY_LINE 	= 4L   
	LINE_NUMBER = 5L

#/*- Defined values for NISCOPE_ATTR_TV_TRIGGER_POLARITY -*/
class TV_TRIGGER_POLARITY :
	POSITIVE = 1L
	NEGATIVE = 2L


#/*- NISCOPE_ATTR_TRIGGER_SOURCE Values -*/
class TRIGGER_SOURCE:
	"""
	Trigger source types.
	
	"""
	EXTERNAL 	= "VAL_EXTERNAL"		 
	TTL0 		= "VAL_TTL0"				 
	TTL1 		= "VAL_TTL1"				 
	TTL2 		= "VAL_TTL2"				 
	TTL3 		= "VAL_TTL3"				 
	TTL4 		= "VAL_TTL4"				 
	TTL5 		= "VAL_TTL5"				 
	TTL6 		= "VAL_TTL6"				 
	TTL7 		= "VAL_TTL7"				 
	ECL0 		= "VAL_ECL0"				 
	ECL1 		= "VAL_ECL1"				 
	PXI_STAR	= "VAL_PXI_STAR"		 
	RTSI_0 		= "VAL_RTSI_0"			 
	RTSI_1 		= "VAL_RTSI_1"			 
	RTSI_2 		= "VAL_RTSI_2"			 
	RTSI_3 		= "VAL_RTSI_3"			 
	RTSI_4 		= "VAL_RTSI_4"			 
	RTSI_5 		= "VAL_RTSI_5"			 
	RTSI_6 		= "VAL_RTSI_6"			 
	IMMEDIATE 	= "VAL_IMMEDIATE"	   
	SW_TRIG_FUNC= "VAL_SW_TRIG_FUNC" 
	RTSI_7 		= "VAL_RTSI_7"			 
	PFI_0  		= "VAL_PFI_0"			  
	PFI_1  		= "VAL_PFI_1"			  
	PFI_2  		= "VAL_PFI_2"

#class NISCOPE_ATTR:
#	class Acquisition:	
#		ACQUISITION_TYPE				 =IVISCOPE_ATTR_ACQUISITION_TYPE		 #/* ViInt32			  */
#		SAMPLE_MODE					  =IVISCOPE_ATTR_SAMPLE_MODE			  #/* ViInt32,   read-only */
#		BINARY_SAMPLE_WIDTH			  =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 5L)   #/* ViInt32			  */
#		RESOLUTION					   =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 102)  #/* ViInt32,   read-only */
#		FETCH_RELATIVE_TO				=(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 77L)  #/* ViInt32   */
#		FETCH_OFFSET					 =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 78L)  #/* ViInt32   */
#		FETCH_RECORD_NUMBER			  =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 79L)  #/* ViInt32   */
#		FETCH_NUM_RECORDS				=(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 80L)  #/* ViInt32   */
#		FETCH_MEAS_NUM_SAMPLES		   =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 81L)  #/* ViInt32   */
#		POINTS_DONE					  =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 82L)  #/* ViReal64  */
#		RECORDS_DONE					 =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 83L)  #/* ViInt32   */
#		BACKLOG						  =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 84L)  #/* ViReal64  */
#		RIS_IN_AUTO_SETUP_ENABLE		 =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 106)  #/* ViBoolean  */
#	class Vertical: 
#		CHANNEL_ENABLED				 =IVISCOPE_ATTR_CHANNEL_ENABLED		  #/* ViBoolean, multi channel		*/
#		CHANNEL_TERMINAL_CONFIGURATION  =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 107)  #/* ViInt32, multi channel */
#		PROBE_ATTENUATION			   =IVISCOPE_ATTR_PROBE_ATTENUATION		#/* ViReal64,  multi channel		*/
#		VERTICAL_RANGE				  =IVISCOPE_ATTR_VERTICAL_RANGE		   #/* ViReal64,  multi channel, volts */
#		VERTICAL_OFFSET				 =IVISCOPE_ATTR_VERTICAL_OFFSET		  #/* ViReal64,  multi channel, volts */
#		INPUT_IMPEDANCE				 =IVISCOPE_ATTR_INPUT_IMPEDANCE		  #/* ViReal64,  multi channel, ohms  */
#		VERTICAL_COUPLING			   =IVISCOPE_ATTR_VERTICAL_COUPLING		#/* ViInt32,   multi channel		*/
#		MAX_INPUT_FREQUENCY			 =IVISCOPE_ATTR_MAX_INPUT_FREQUENCY	  #/* ViReal64,  multi channel, hertz */
#	class Horizontal:
#		ACQUISITION_START_TIME			  =IVISCOPE_ATTR_ACQUISITION_START_TIME   #/* ViReal64,  seconds						 */
#		HORZ_NUM_RECORDS					=(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1L)   #/* ViInt32			  */
#		HORZ_TIME_PER_RECORD				=IVISCOPE_ATTR_HORZ_TIME_PER_RECORD	 #/* ViReal64,  seconds						 */
#		HORZ_MIN_NUM_PTS					=IVISCOPE_ATTR_HORZ_MIN_NUM_PTS		 #/* ViInt32									*/
#		HORZ_RECORD_LENGTH				  =IVISCOPE_ATTR_HORZ_RECORD_LENGTH	   #/* ViInt32,   read-only, actual record length */
#		HORZ_RECORD_REF_POSITION			=(IVI_CLASS_PUBLIC_ATTR_BASE  + 11L)	#/* ViReal64,  percentage of record length	 */
#		MIN_SAMPLE_RATE					 =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 9L)   #/* ViReal64			 */
#		HORZ_SAMPLE_RATE					=IVISCOPE_ATTR_HORZ_SAMPLE_RATE		 #/* ViReal64,  read-only, actual sample rate   */
#		HORZ_ENFORCE_REALTIME			   =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 4L)   #/* ViBoolean			*/
#		REF_TRIG_TDC_ENABLE				 =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 96)   #/* ViBoolean  */
#		ALLOW_MORE_RECORDS_THAN_MEMORY	  =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 68L)  #/* ViBoolean */		
#		POLL_INTERVAL					=(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 100L) #/* ViInt32   */
#		RIS_NUM_AVERAGES				 =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 70L)  #/* ViInt32   */
#		RIS_METHOD					   =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 71L)  #/* ViInt32   */
#		class Advanced:
#			NISCOPE_ATTR_5102_ADJUST_PRETRIGGER_SAMPLES   =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 85L)  #/* ViBoolean */
#	class Trigger:
#		TRIGGER_TYPE						=IVISCOPE_ATTR_TRIGGER_TYPE			 #/* ViInt32			*/
#		TRIGGER_SOURCE					  =IVISCOPE_ATTR_TRIGGER_SOURCE		   #/* ViString		   */
#		TRIGGER_DELAY_TIME				  =(IVI_CLASS_PUBLIC_ATTR_BASE  + 15L)	#/* ViReal64,  seconds */
#		TRIGGER_HOLDOFF					 =IVISCOPE_ATTR_TRIGGER_HOLDOFF		  #/* ViReal64,  seconds */
#		START_TO_REF_TRIGGER_HOLDOFF		=(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 103)  #/* ViReal64,  seconds */
#		TRIGGER_IMPEDANCE				=(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 75L)  #/* ViReal64  */
#		TRIGGER_LEVEL					   =IVISCOPE_ATTR_TRIGGER_LEVEL			#/* ViReal64,  volts   */
#		TRIGGER_HYSTERESIS				  =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 6L)   #/* ViReal64,  volts	 */
#		TRIGGER_COUPLING					=IVISCOPE_ATTR_TRIGGER_COUPLING		 #/* ViInt32			*/
#		TRIGGER_SLOPE					   =IVISCOPE_ATTR_TRIGGER_SLOPE			#/* ViInt32			*/
#		class Window:
#			LOW_LEVEL			=(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 13L)  #/* ViReal64			 */
#			HIGH_LEVEL		   =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 14L)  #/* ViReal64			 */
#			MODE				 =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 12L)  #/* ViInt32			  */
#		class VideoTV:
#			EVENT					=IVISCOPE_ATTR_TV_TRIGGER_EVENT		 #/* ViInt32			*/
#			LINE_NUMBER			  =IVISCOPE_ATTR_TV_TRIGGER_LINE_NUMBER   #/* ViInt32			*/
#			SIGNAL_FORMAT			=IVISCOPE_ATTR_TV_TRIGGER_SIGNAL_FORMAT #/* ViInt32			*/
#			POLARITY				 =IVISCOPE_ATTR_TV_TRIGGER_POLARITY	  #/* ViInt32			*/
#			ENABLE_DC_RESTORE				   =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 93)   #/* ViBoolean  */
#	class Device:
#		DEVICE_TEMPERATURE				   =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 86)   #/* ViReal64   */
#		SERIAL_NUMBER					   =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 104)  #/* ViString   */
#		DAQMX_TASK						  =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 92)   #/* ViInt32	*/
#	class Clock:
#	NISCOPE_ATTR_EXPORTED_SAMPLE_CLOCK_OUTPUT_TERMINAL =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 91)   #/* ViString   */
#	NISCOPE_ATTR_INPUT_CLOCK_SOURCE				  =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 2L)   #/* ViString			 */
#	NISCOPE_ATTR_OUTPUT_CLOCK_SOURCE				 =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 3L)   #/* ViString			 */
#	NISCOPE_ATTR_CLOCK_SYNC_PULSE_SOURCE			 =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 7L)   #/* ViString			 */
#			
#	NISCOPE_ATTR_MEAS_HIGH_REF					   =IVISCOPE_ATTR_MEAS_HIGH_REF			#/* ViReal64		   */
#	NISCOPE_ATTR_MEAS_LOW_REF						=IVISCOPE_ATTR_MEAS_LOW_REF			 #/* ViReal64		   */
#	NISCOPE_ATTR_MEAS_MID_REF						=IVISCOPE_ATTR_MEAS_MID_REF			 #/* ViReal64		   */
#	
#	NISCOPE_ATTR_MASTER_ENABLE					   =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 8L)   #/* ViBoolean			*/
#	NISCOPE_ATTR_MEAS_REF_LEVEL_UNITS				=(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 16L)  #/* ViInt32			  */
#	NISCOPE_ATTR_MEAS_OTHER_CHANNEL				  =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 18L)  #/* ViString			 */
#	NISCOPE_ATTR_MEAS_HYSTERESIS_PERCENT			 =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 19L)  #/* ViReal64			 */
#	NISCOPE_ATTR_MEAS_LAST_ACQ_HISTOGRAM_SIZE		=(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 20L)	#/* ViInt32	*/
#	NISCOPE_ATTR_MEAS_VOLTAGE_HISTOGRAM_SIZE		 =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 21L)	#/* ViInt32	*/
#	NISCOPE_ATTR_MEAS_VOLTAGE_HISTOGRAM_LOW_VOLTS	=(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 22L)	#/* ViReal64   */
#	NISCOPE_ATTR_MEAS_VOLTAGE_HISTOGRAM_HIGH_VOLTS   =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 23L)	#/* ViReal64   */
#	NISCOPE_ATTR_MEAS_TIME_HISTOGRAM_SIZE			=(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 24L)	#/* ViInt32	*/
#	NISCOPE_ATTR_MEAS_TIME_HISTOGRAM_LOW_VOLTS	   =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 25L)	#/* ViReal64   */
#	NISCOPE_ATTR_MEAS_TIME_HISTOGRAM_HIGH_VOLTS	  =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 26L)	#/* ViReal64   */
#	NISCOPE_ATTR_MEAS_TIME_HISTOGRAM_LOW_TIME		=(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 27L)	#/* ViReal64   */
#	NISCOPE_ATTR_MEAS_TIME_HISTOGRAM_HIGH_TIME	   =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 28L)	#/* ViReal64   */
#	NISCOPE_ATTR_MEAS_POLYNOMIAL_INTERPOLATION_ORDER =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 29L)  #/* ViInt32	*/
#	NISCOPE_ATTR_MEAS_INTERPOLATION_SAMPLING_FACTOR  =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 30L)  #/* ViReal64   */
#	NISCOPE_ATTR_MEAS_FILTER_CUTOFF_FREQ			 =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 31L)  #/* ViReal64   */
#	NISCOPE_ATTR_MEAS_FILTER_CENTER_FREQ			 =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 32L)  #/* ViReal64   */
#	NISCOPE_ATTR_MEAS_FILTER_RIPPLE				  =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 33L)  #/* ViReal64   */
#	NISCOPE_ATTR_MEAS_FILTER_TRANSIENT_WAVEFORM_PERCENT =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 34L) #/* ViReal64 */
#	NISCOPE_ATTR_MEAS_FILTER_TYPE		  =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 35L)  #/* ViInt32  */
#	NISCOPE_ATTR_MEAS_FILTER_ORDER		 =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 36L)  #/* ViInt32  */
#	NISCOPE_ATTR_MEAS_FILTER_TAPS		  =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 37L)  #/* ViInt32  */
#	NISCOPE_ATTR_MEAS_CHAN_LOW_REF_LEVEL   =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 38L)  #/* ViReal64 */
#	NISCOPE_ATTR_MEAS_CHAN_MID_REF_LEVEL   =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 39L)  #/* ViReal64 */
#	NISCOPE_ATTR_MEAS_CHAN_HIGH_REF_LEVEL  =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 40L)  #/* ViReal64 */
#	NISCOPE_ATTR_MEAS_FILTER_WIDTH		 =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 41L)  #/* ViReal64 */
#	NISCOPE_ATTR_MEAS_FIR_FILTER_WINDOW	=(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 42L)  #/* ViInt32  */
#	NISCOPE_ATTR_MEAS_ARRAY_GAIN		   =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 43L)  #/* ViReal64 */
#	NISCOPE_ATTR_MEAS_ARRAY_OFFSET		 =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 44L)  #/* ViReal64 */
#	NISCOPE_ATTR_MEAS_PERCENTAGE_METHOD	=(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 45L)  #/* ViInt32  */
#	NISCOPE_ATTR_SLAVE_TRIGGER_DELAY			  =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 46L) #/* ViReal64 */
#	NISCOPE_ATTR_TRIGGER_TO_STAR_DELAY			=(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 47L) #/* ViReal64 */
#	NISCOPE_ATTR_TRIGGER_TO_RTSI_DELAY			=(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 48L) #/* ViReal64 */
#	NISCOPE_ATTR_TRIGGER_TO_PFI_DELAY			 =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 49L) #/* ViReal64 */
#	NISCOPE_ATTR_TRIGGER_FROM_STAR_DELAY		  =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 50L) #/* ViReal64 */
#	NISCOPE_ATTR_TRIGGER_FROM_RTSI_DELAY		  =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 51L) #/* ViReal64 */
#	NISCOPE_ATTR_TRIGGER_FROM_PFI_DELAY		   =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 52L) #/* ViReal64 */
#	NISCOPE_ATTR_ACQ_ARM_SOURCE				   =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 53L) #/* ViString */
#	NISCOPE_ATTR_RECORD_ARM_SOURCE				=(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 65L) #/* ViString */
#	NISCOPE_ATTR_IS_PROBE_COMP_ON				 =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 66L)  #/* ViBoolean */
#	NISCOPE_ATTR_USE_SPEC_INITIAL_X			   =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 67L)  #/* ViBoolean */
#	NISCOPE_ATTR_ONBOARD_MEMORY_SIZE			  =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 69L)  #/* ViInt32   */
#	NISCOPE_ATTR_FETCH_INTERLEAVED_DATA		   =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 72L)  #/* ViBoolean */
#	NISCOPE_ATTR_MAX_REAL_TIME_SAMPLING_RATE	  =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 73L)  #/* ViReal64  */
#	NISCOPE_ATTR_MAX_RIS_RATE					 =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 74L)  #/* ViInt32   */
#	NISCOPE_ATTR_DEVICE_NUMBER					=(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 76L)  #/* ViInt32   */
#	NISCOPE_ATTR_DDC_NCO_FREQUENCY				   =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1000)	#/* ViReal64  */
#	NISCOPE_ATTR_DDC_NCO_PHASE					   =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1001)	#/* ViReal64  */
#	NISCOPE_ATTR_DDC_ENABLE						  =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1003)	#/* ViBoolean */
#	NISCOPE_ATTR_DDC_CIC_DECIMATION				  =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1010)	#/* ViInt32   */
#	NISCOPE_ATTR_DDC_CIC_SHIFT_GAIN				  =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1011)	#/* ViInt32   */
#	NISCOPE_ATTR_DDC_DISCRIMINATOR_ENABLED		   =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1020)	#/* ViBoolean */
#	NISCOPE_ATTR_DDC_DISCRIMINATOR_FIR_DECIMATION	=(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1021)	#/* ViInt32   */
#	NISCOPE_ATTR_DDC_DISCRIMINATOR_FIR_SYMMETRY	  =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1022)	#/* ViInt32   */
#	NISCOPE_ATTR_DDC_DISCRIMINATOR_FIR_SYMMETRY_TYPE =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1023)	#/* ViInt32   */
#	NISCOPE_ATTR_DDC_DISCRIMINATOR_FIR_NUM_TAPS	  =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1024)	#/* ViInt32   */
#	NISCOPE_ATTR_DDC_DISCRIMINATOR_DELAY			 =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1025)	#/* ViInt32   */
#	NISCOPE_ATTR_DDC_DISCRIMINATOR_FIR_INPUT_SOURCE  =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1026)	#/* ViInt32   */
#	NISCOPE_ATTR_DDC_DISCRIMINATOR_PHASE_MULTIPLIER  =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1027)	#/* ViInt32   */
#	NISCOPE_ATTR_DDC_PFIR_DECIMATION				 =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1030)	#/* ViInt32   */
#	NISCOPE_ATTR_DDC_PFIR_SYMMETRY				   =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1031)	#/* ViInt32   */
#	NISCOPE_ATTR_DDC_PFIR_SYMMETRY_TYPE			  =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1032)	#/* ViInt32   */
#	NISCOPE_ATTR_DDC_PFIR_NUM_TAPS				   =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1033)	#/* ViInt32   */
#	NISCOPE_ATTR_DDC_PFIR_REAL_OR_COMPLEX			=(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1034)	#/* ViInt32   */
#	NISCOPE_ATTR_DDC_AGC_UPPER_GAIN_LIMIT			=(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1040)	#/* ViReal64  */
#	NISCOPE_ATTR_DDC_AGC_LOWER_GAIN_LIMIT			=(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1041)	#/* ViReal64  */
#	NISCOPE_ATTR_DDC_AGC_LOOP_GAIN_0_EXPONENT		=(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1042)	#/* ViInt32   */
#	NISCOPE_ATTR_DDC_AGC_LOOP_GAIN_0_MANTISSA		=(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1043)	#/* ViInt32   */
#	NISCOPE_ATTR_DDC_AGC_LOOP_GAIN_1_EXPONENT		=(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1044)	#/* ViInt32   */
#	NISCOPE_ATTR_DDC_AGC_LOOP_GAIN_1_MANTISSA		=(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1045)	#/* ViInt32   */
#	NISCOPE_ATTR_DDC_AGC_THRESHOLD				   =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1046)	#/* ViInt32   */
#	NISCOPE_ATTR_DDC_AGC_AVERAGE_CONTROL			 =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1047)	#/* ViInt32   */
#	NISCOPE_ATTR_DDC_HALFBAND_BYPASSED			   =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1050)	#/* ViBoolean */
#	NISCOPE_ATTR_DDC_HALFBAND_1_ENABLED			  =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1051)	#/* ViBoolean */
#	NISCOPE_ATTR_DDC_HALFBAND_2_ENABLED			  =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1052)	#/* ViBoolean */
#	NISCOPE_ATTR_DDC_HALFBAND_3_ENABLED			  =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1053)	#/* ViBoolean */
#	NISCOPE_ATTR_DDC_HALFBAND_4_ENABLED			  =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1054)	#/* ViBoolean */
#	NISCOPE_ATTR_DDC_HALFBAND_5_ENABLED			  =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1055)	#/* ViBoolean */
#	NISCOPE_ATTR_DDC_AOUT_PARALLEL_OUTPUT_SOURCE		=(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1070) #/* ViInt32   */
#	NISCOPE_ATTR_DDC_BOUT_PARALLEL_OUTPUT_SOURCE		=(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1071) #/* ViInt32   */
#	NISCOPE_ATTR_DDC_TEST_SINE_COSINE				   =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1072) #/* ViBoolean */
#	NISCOPE_ATTR_DDC_COORDINATE_CONVERTER_INPUT		 =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1073) #/* ViInt32   */
#	NISCOPE_ATTR_DDC_Q_INPUT_TO_COORD_CONVERTER_INPUT   =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1074) #/* ViInt32   */
#	NISCOPE_ATTR_DDC_SYNCOUT_CLK_SELECT			  =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1080)	#/* ViInt32   */
#	NISCOPE_ATTR_DDC_TIMING_NCO_PHASE_ACCUM_LOAD	 =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1120)	#/* ViBoolean */
#	NISCOPE_ATTR_DDC_TIMING_NCO_CLEAR_PHASE_ACCUM	=(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1121)	#/* ViBoolean */
#	NISCOPE_ATTR_DDC_TIMING_NCO_ENABLE_OFFSET_FREQ   =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1122)	#/* ViBoolean */
#	NISCOPE_ATTR_DDC_TIMING_NCO_NUM_OFFSET_FREQ_BITS =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1123)	#/* ViInt32   */
#	NISCOPE_ATTR_DDC_TIMING_NCO_CENTER_FREQUENCY	 =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1124)	#/* ViInt32   */
#	NISCOPE_ATTR_DDC_TIMING_NCO_PHASE_OFFSET		 =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1125)	#/* ViInt32   */
#	NISCOPE_ATTR_DDC_RESAMPLER_FILTER_MODE_SELECT	=(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1126)	#/* ViInt32   */
#	NISCOPE_ATTR_DDC_RESAMPLER_BYPASS				=(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1127)	#/* ViBoolean */
#	NISCOPE_ATTR_DDC_RESAMPLER_OUTPUT_PULSE_DELAY	=(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1128)	#/* ViInt32   */
#	NISCOPE_ATTR_DDC_NCO_DIVIDE					  =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1129)	#/* ViInt32   */
#	NISCOPE_ATTR_DDC_REFERENCE_DIVIDE				=(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1130)	#/* ViInt32   */
#	NISCOPE_ATTR_ENABLE_DITHER					   =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1300)	#/* ViBoolean */
#	NISCOPE_ATTR_DDC_COMBINED_DECIMATION			 =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1301)	#/* ViInt32   */
#	NISCOPE_ATTR_SERIAL_DAC_CAL_VOLTAGE			  =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1302)	#/* ViReal64  */
#	NISCOPE_ATTR_PLL_LOCK_STATUS					 =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1303)	#/* ViBoolean */
#	NISCOPE_ATTR_DELAY_BEFORE_INITIATE			   =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1304)	#/* ViReal64  */
#	NISCOPE_ATTR_DDC_DIRECT_REGISTER_ADDRESS		 =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1305)	#/* ViInt32   */
#	NISCOPE_ATTR_DDC_DIRECT_REGISTER_DATA			=(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1306)	#/* ViInt32   */
#	NISCOPE_ATTR_SAMP_CLK_TIMEBASE_SRC			   =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 87)   #/* ViString   */
#	NISCOPE_ATTR_SAMP_CLK_TIMEBASE_RATE			  =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 88)   #/* ViReal64   */
#	NISCOPE_ATTR_SAMP_CLK_TIMEBASE_DIV			   =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 89)   #/* ViInt32	*/
#	NISCOPE_ATTR_REF_CLK_RATE						=(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 90)   #/* ViReal64   */
#	NISCOPE_ATTR_ADV_TRIG_SRC						=(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 94)   #/* ViString   */
#	NISCOPE_ATTR_ARM_REF_TRIG_SRC					=(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 95)   #/* ViString   */
#	NISCOPE_ATTR_OSCILLATOR_PHASE_DAC_VALUE		  =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 105)  #/* ViInt32	*/
#	NISCOPE_ATTR_EXPORTED_ADVANCE_TRIGGER_OUTPUT_TERMINAL =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 109)  #/* ViString */
#	NISCOPE_ATTR_READY_FOR_START_EVENT_OUTPUT_TERMINAL	=(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 110)  #/* ViString */
#	NISCOPE_ATTR_READY_FOR_REF_EVENT_OUTPUT_TERMINAL	  =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 111)  #/* ViString */
#	NISCOPE_ATTR_READY_FOR_ADVANCE_EVENT_OUTPUT_TERMINAL  =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 112)  #/* ViString */
#	NISCOPE_ATTR_FLEX_FIR_ANTIALIAS_FILTER_TYPE	  =(IVI_=SPECIFIC_PUBLIC_ATTR_BASE + 271)  #/* ViInt32, multi channel */
#	NISCOPE_ATTR_DDC_ENABLED						 =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 300)  #/* ViBoolean, multi channel */
#	NISCOPE_ATTR_DDC_FREQUENCY_TRANSLATION_ENABLED   =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 302)  #/* ViBoolean, multi channel */
#	NISCOPE_ATTR_DDC_CENTER_FREQUENCY				=(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 303)  #/* ViReal64, multi channel */
#	NISCOPE_ATTR_DDC_DATA_PROCESSING_MODE			=(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 304)  #/* ViInt32 */
#	NISCOPE_ATTR_DDC_FREQUENCY_TRANSLATION_PHASE_I   =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 305)  #/* ViReal64, multi channel */
#	NISCOPE_ATTR_DDC_FREQUENCY_TRANSLATION_PHASE_Q   =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 306)  #/* ViReal64, multi channel */
#	NISCOPE_ATTR_DIGITAL_GAIN						=(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 307)  #/* ViReal64, multi channel */
#	NISCOPE_ATTR_DIGITAL_OFFSET					  =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 308)  #/* ViReal64, multi channel */
#	NISCOPE_ATTR_OVERFLOW_ERROR_REPORTING			=(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 309)  #/* ViInt32 */
#	NISCOPE_ATTR_DDC_Q_SOURCE						=(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 310)  #/* ViInt32, multi channel  */
#	NISCOPE_ATTR_FETCH_INTERLEAVED_IQ_DATA		   =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 311) #// ViBoolean //
#	NISCOPE_ATTR_EQUALIZATION_NUM_COEFFICIENTS	   =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 312)  #/* ViInt32, multi channel */
#	NISCOPE_ATTR_EQUALIZATION_FILTER_ENABLED		 =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 313)  #/* ViBoolean, multi channel */
#	NISCOPE_ATTR_REF_TRIGGER_DETECTOR_LOCATION	   =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 314)  #/* ViInt32 */
#	NISCOPE_ATTR_REF_TRIGGER_MINIMUM_QUIET_TIME	  =(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 315)  #/* ViReal64 */
#	NISCOPE_ATTR_ENABLE_TIME_INTERLEAVED_SAMPLING	=(IVI_SPECIFIC_PUBLIC_ATTR_BASE + 128L)  #// ViBoolean
#	NISCOPE_ATTR_DATA_TRANSFER_BLOCK_SIZE	
#
#
#
#/****************************************************************************
#*------------------------ Error And Completion Codes ----------------------*
# ****************************************************************************/
class ERROR_BASE:
#/*= Error base constants   vistatype.h											 ========= */ 
	_VI_ERROR		   							=	(-2147483647L-1)  ##/* 0x80000000 */ visatype.h
#/*= Error base constants   ivi.h											 ========= */ 
	IVI_STATUS_CODE_BASE							=	0x3FFA0000L 
	IVI_WARN_BASE						   		=	IVI_STATUS_CODE_BASE
	IVI_CROSS_CLASS_WARN_BASE					   =	IVI_WARN_BASE + 0x1000
	IVI_CLASS_WARN_BASE							 =	IVI_WARN_BASE + 0x2000
	IVI_SPECIFIC_WARN_BASE						  =	IVI_WARN_BASE + 0x4000
	IVI_MAX_SPECIFIC_WARN_CODE					  =	IVI_WARN_BASE + 0x7FFF
	IVI_NI_WARN_BASE								=	IVI_WARN_BASE + 0x6000

	IVI_ERROR_BASE 									=	_VI_ERROR + IVI_STATUS_CODE_BASE
	IVI_CROSS_CLASS_ERROR_BASE					  =	IVI_ERROR_BASE + 0x1000
	IVI_CLASS_ERROR_BASE							=	IVI_ERROR_BASE + 0x2000
	IVI_SPECIFIC_ERROR_BASE						 =	IVI_ERROR_BASE + 0x4000
	IVI_MAX_SPECIFIC_ERROR_CODE					 =	IVI_ERROR_BASE + 0x7FFF
	IVI_NI_ERROR_BASE							   =	IVI_ERROR_BASE + 0x6000
	IVI_SHARED_COMPONENT_ERROR_BASE				 =	IVI_ERROR_BASE + 0x1000
#/*= Error base constants   iviscope.h											 ========= */ 
	IVISCOPE_WARN_INVALID_WFM_ELEMENT	   		=   IVI_CLASS_WARN_BASE+0x0001L
	IVISCOPE_ERROR_CHANNEL_NOT_ENABLED	  		=	IVI_CLASS_ERROR_BASE+0x0001L
	IVISCOPE_ERROR_UNABLE_TO_PERFORM_MEASUREMENT   	=	IVI_CLASS_ERROR_BASE+0x0002L
	IVISCOPE_ERROR_MAX_TIME_EXCEEDED			   	=	IVI_CLASS_ERROR_BASE+0x0003L
			
	
	

ERRORS = {
ERROR_BASE.IVI_CLASS_WARN_BASE +0x0001L				 : "IVISCOPE_WARN_INVALID_WFM_ELEMENT			",									   
ERROR_BASE.IVI_CLASS_ERROR_BASE+0x0001L					: "IVISCOPE_ERROR_CHANNEL_NOT_ENABLED		   ",
ERROR_BASE.IVI_CLASS_ERROR_BASE+0x0002L					: "IVISCOPE_ERROR_UNABLE_TO_PERFORM_MEASUREMENT ",
ERROR_BASE.IVI_CLASS_ERROR_BASE+0x0003L					: "IVISCOPE_ERROR_MAX_TIME_EXCEEDED			 ",
ERROR_BASE.IVI_CLASS_ERROR_BASE+0x0004L					: "IVISCOPE_ERROR_INVALID_ACQ_TYPE			  ",

ERROR_BASE.IVISCOPE_WARN_INVALID_WFM_ELEMENT			  : "WARN_INVALID_WFM_ELEMENT			   ",
ERROR_BASE.IVI_SPECIFIC_WARN_BASE+0x001L				  : "WARN_HEATER_CIRCUIT_TEMPERATURE		",
ERROR_BASE.IVI_SPECIFIC_WARN_BASE+0x002L				  : "WARN_INVALID_DATA					  ",
ERROR_BASE.IVI_SPECIFIC_WARN_BASE+0x003L				  : "WARN_CHANNEL_OVERLOAD				  ",
ERROR_BASE.IVI_SPECIFIC_WARN_BASE+0x004L				  : "WARN_AUTOSETUP_NO_SIGNAL			   ",
ERROR_BASE.IVI_SPECIFIC_WARN_BASE+0x005L				  : "WARN_PLL_UNLOCKED					  ",
ERROR_BASE.IVI_SPECIFIC_WARN_BASE+0x006L				  : "WARN_PLL_UNLOCKED_AND_ADC_OVERLOAD	 ",
ERROR_BASE.IVI_SPECIFIC_WARN_BASE+0x007L				  : "WARN_TIMESTAMP_ROLLOVER				",
ERROR_BASE.IVI_SPECIFIC_WARN_BASE+0x008L				  : "WARN_ADC_OVERLOAD					  ",
ERROR_BASE.IVISCOPE_ERROR_CHANNEL_NOT_ENABLED			 : "ERROR_CHANNEL_NOT_ENABLED			  ",
ERROR_BASE.IVISCOPE_ERROR_UNABLE_TO_PERFORM_MEASUREMENT   : "ERROR_UNABLE_TO_PERFORM_MEASUREMENT	",
ERROR_BASE.IVISCOPE_ERROR_MAX_TIME_EXCEEDED			   : "ERROR_MAX_TIME_EXCEEDED				",
ERROR_BASE.IVI_SPECIFIC_ERROR_BASE+0x001L				 : "ERROR_SOFTWARE_FAILURE				 ",
ERROR_BASE.IVI_SPECIFIC_ERROR_BASE+0x002L				 : "ERROR_HARDWARE_FAILURE				 ",
ERROR_BASE.IVI_SPECIFIC_ERROR_BASE+0x003L				 : "ERROR_INSUFFICIENT_MEMORY			  ",
ERROR_BASE.IVI_SPECIFIC_ERROR_BASE+0x004L				 : "ERROR_INVALID_DATA					 ",
ERROR_BASE.IVI_SPECIFIC_ERROR_BASE+0x005L				 : "ERROR_GAIN_CAL_FAILURE				 ",
ERROR_BASE.IVI_SPECIFIC_ERROR_BASE+0x006L				 : "ERROR_SINE_CAL_FAILURE				 ",
ERROR_BASE.IVI_SPECIFIC_ERROR_BASE+0x007L				 : "ERROR_LIN_CAL_FAILURE				  ",
ERROR_BASE.IVI_SPECIFIC_ERROR_BASE+0x008L				 : "ERROR_ADC_CAL_FAILURE				  ",
ERROR_BASE.IVI_SPECIFIC_ERROR_BASE+0x009L				 : "ERROR_ACQ_IN_PROGRESS				  ",
ERROR_BASE.IVI_SPECIFIC_ERROR_BASE+0x00AL				 : "ERROR_DATA_NOT_AVAILABLE			   ",
ERROR_BASE.IVI_SPECIFIC_ERROR_BASE+0x00BL				 : "ERROR_HEATER_CIRCUIT_CAL_FAILURE	   ",
ERROR_BASE.IVI_SPECIFIC_ERROR_BASE+0x00CL				 : "ERROR_FLEXRES_CONFIG_CORRUPT		   ",
ERROR_BASE.IVI_SPECIFIC_ERROR_BASE+0x00DL				 : "ERROR_GAIN_OFFSET_CAL_FAILURE		  ",
ERROR_BASE.IVI_SPECIFIC_ERROR_BASE+0x00EL				 : "ERROR_CREATE_THREAD					",
ERROR_BASE.IVI_SPECIFIC_ERROR_BASE+0x00FL				 : "ERROR_WRONG_PASSWORD				   ",
ERROR_BASE.IVI_SPECIFIC_ERROR_BASE+0x010L				 : "ERROR_INVALID_GAIN					 ",
ERROR_BASE.IVI_SPECIFIC_ERROR_BASE+0x013L				 : "ERROR_INVALID_CAL_SESSION			  ",
ERROR_BASE.IVI_SPECIFIC_ERROR_BASE+0x014L				 : "ERROR_BAD_MEASUREMENT				  ",
ERROR_BASE.IVI_SPECIFIC_ERROR_BASE+0x015L				 : "ERROR_BUFFER_NOT_ACQUIRED			  ",
ERROR_BASE.IVI_SPECIFIC_ERROR_BASE+0x016L				 : "ERROR_TRIGGER_HAS_NOT_OCCURRED		 ",
ERROR_BASE.IVI_SPECIFIC_ERROR_BASE+0x017L				 : "ERROR_ILLEGAL_RELATIVE_TO			  ",
ERROR_BASE.IVI_SPECIFIC_ERROR_BASE+0x018L				 : "ERROR_DATA_OVERWRITTEN				 ",
ERROR_BASE.IVI_SPECIFIC_ERROR_BASE+0x01AL				 : "ERROR_INVALID_TIMESTAMP_EVENT_TAG	  ",
ERROR_BASE.IVI_SPECIFIC_ERROR_BASE+0x01BL				 : "ERROR_TIMEOUT_TRANSFERRING_TIMESTAMPS  ",
ERROR_BASE.IVI_SPECIFIC_ERROR_BASE+0x01CL				 : "ERROR_TIMEOUT_CHECKING_STATUS		  ",
ERROR_BASE.IVI_SPECIFIC_ERROR_BASE+0x01DL				 : "ERROR_TIMEOUT_TRANSFERRING_DATA		",
ERROR_BASE.IVI_SPECIFIC_ERROR_BASE+0x01EL				 : "ERROR_PLL_FAILURE					  ",
ERROR_BASE.IVI_SPECIFIC_ERROR_BASE+0x01FL				 : "ERROR_PAR_TO_SER_CONV_FAILURE		  ",
ERROR_BASE.IVI_SPECIFIC_ERROR_BASE+0x020L				 : "ERROR_DMA_CONFIG_ERROR				 ",
ERROR_BASE.IVI_SPECIFIC_ERROR_BASE+0x021L				 : "ERROR_ILLEGAL_USER_OFFSET			  ",
ERROR_BASE.IVI_SPECIFIC_ERROR_BASE+0x022L				 : "ERROR_NOT_A_SCOPE					  ",
ERROR_BASE.IVI_SPECIFIC_ERROR_BASE+0x023L				 : "ERROR_TIMEOUT_CLEARING_TIO			 ",
ERROR_BASE.IVI_SPECIFIC_ERROR_BASE+0x024L				 : "ERROR_RIS_DID_NOT_COMPLETE			 ",
ERROR_BASE.IVI_SPECIFIC_ERROR_BASE+0x025L				 : "ERROR_INVALID_RIS_METHOD			   ",
ERROR_BASE.IVI_SPECIFIC_ERROR_BASE+0x026L				 : "ERROR_INVALID_RIS_NUM_AVERAGES		 ",
ERROR_BASE.IVI_SPECIFIC_ERROR_BASE+0x027L				 : "ERROR_ILLEGAL_DATATYPE				 ",
ERROR_BASE.IVI_SPECIFIC_ERROR_BASE+0x028L				 : "ERROR_ATTRIBUTES_DIFFER_BY_CHANNEL	 ",
ERROR_BASE.IVI_SPECIFIC_ERROR_BASE+0x029L				 : "ERROR_TRIGGER_DELAY_INVALID_WITH_RIS   ",
ERROR_BASE.IVI_SPECIFIC_ERROR_BASE+0x02AL				 : "ERROR_INITIATE_NOT_CALLED			  ",
ERROR_BASE.IVI_SPECIFIC_ERROR_BASE+0x02BL				 : "ERROR_INVALID_FUNCTION_USE			 ",
ERROR_BASE.IVI_SPECIFIC_ERROR_BASE+0x02CL				 : "ERROR_HOLDOFF_DELAY_NONZERO			",
ERROR_BASE.IVI_SPECIFIC_ERROR_BASE+0x02DL				 : "ERROR_CHANNEL_NAME_TOO_LONG			",
ERROR_BASE.IVI_SPECIFIC_ERROR_BASE+0x02EL				 : "ERROR_DIGITIZER_ALREADY_IN_USE		 ",
ERROR_BASE.IVI_SPECIFIC_ERROR_BASE+0X02FL				 : "ERROR_SIM_MODEL_NOT_SUPPORTED		  ",
ERROR_BASE.IVI_SPECIFIC_ERROR_BASE+0X030L				 : "ERROR_SPECIFICDLL_LOAD_FAILURE		 ",
ERROR_BASE.IVI_SPECIFIC_ERROR_BASE+0X031L				 : "ERROR_SPECIFICDLL_GET_ADDRESS_FAILURE  ",
ERROR_BASE.IVI_SPECIFIC_ERROR_BASE+0X032L				 : "ERROR_TRIGGER_TYPE_INVALID			 ",
ERROR_BASE.IVI_SPECIFIC_ERROR_BASE+0X033L				 : "ERROR_INVALID_FETCH_PARAMETERS		 ",
ERROR_BASE.IVI_SPECIFIC_ERROR_BASE+0X034L				 : "ERROR_EXT_CAL_NOT_COMPLETE			 ",
ERROR_BASE.IVI_SPECIFIC_ERROR_BASE+0X035L				 : "ERROR_EXT_CAL_CONSTS_INVALID		   ",
ERROR_BASE.IVI_SPECIFIC_ERROR_BASE+0X036L				 : "ERROR_INVALID_NUM_WAVEFORMS			",
0xBFFA1190												  : "ERROR_INVALID_SESSION   	  			",
 -1073807360 : "VI_ERROR_SYSTEM_ERROR	   ",#(_VI_ERROR+0x3FFF0000L) #/* BFFF0000, */
 -1073807346 : "VI_ERROR_INV_OBJECT		 ",#(_VI_ERROR+0x3FFF000EL) #/* BFFF000E, */
 -1073807345 : "VI_ERROR_RSRC_LOCKED		",#(_VI_ERROR+0x3FFF000FL) #/* BFFF000F, */
 -1073807344 : "VI_ERROR_INV_EXPR		   ",#(_VI_ERROR+0x3FFF0010L) #/* BFFF0010, */
 -1073807343 : "VI_ERROR_RSRC_NFOUND		",#(_VI_ERROR+0x3FFF0011L) #/* BFFF0011, */
 -1073807342 : "VI_ERROR_INV_RSRC_NAME	  ",#(_VI_ERROR+0x3FFF0012L) #/* BFFF0012, */
 -1073807341 : "VI_ERROR_INV_ACC_MODE	   ",#(_VI_ERROR+0x3FFF0013L) #/* BFFF0013, */
 -1073807339 : "VI_ERROR_TMO				",#(_VI_ERROR+0x3FFF0015L) #/* BFFF0015, */
 -1073807338 : "VI_ERROR_CLOSING_FAILED	 ",#(_VI_ERROR+0x3FFF0016L) #/* BFFF0016, */
 -1073807333 : "VI_ERROR_INV_DEGREE		 ",#(_VI_ERROR+0x3FFF001BL) #/* BFFF001B, */
 -1073807332 : "VI_ERROR_INV_JOB_ID		 ",#(_VI_ERROR+0x3FFF001CL) #/* BFFF001C, */
 -1073807331 : "VI_ERROR_NSUP_ATTR		  ",#(_VI_ERROR+0x3FFF001DL) #/* BFFF001D, */
 -1073807330 : "VI_ERROR_NSUP_ATTR_STATE	",#(_VI_ERROR+0x3FFF001EL) #/* BFFF001E, */
 -1073807329 : "VI_ERROR_ATTR_READONLY	  ",#(_VI_ERROR+0x3FFF001FL) #/* BFFF001F, */
 -1073807328 : "VI_ERROR_INV_LOCK_TYPE	  ",#(_VI_ERROR+0x3FFF0020L) #/* BFFF0020, */
 -1073807327 : "VI_ERROR_INV_ACCESS_KEY	 ",#(_VI_ERROR+0x3FFF0021L) #/* BFFF0021, */
 -1073807322 : "VI_ERROR_INV_EVENT		  ",#(_VI_ERROR+0x3FFF0026L) #/* BFFF0026, */
 -1073807321 : "VI_ERROR_INV_MECH		   ",#(_VI_ERROR+0x3FFF0027L) #/* BFFF0027, */
 -1073807320 : "VI_ERROR_HNDLR_NINSTALLED   ",#(_VI_ERROR+0x3FFF0028L) #/* BFFF0028, */
 -1073807319 : "VI_ERROR_INV_HNDLR_REF	  ",#(_VI_ERROR+0x3FFF0029L) #/* BFFF0029, */
 -1073807318 : "VI_ERROR_INV_CONTEXT		",#(_VI_ERROR+0x3FFF002AL) #/* BFFF002A, */
 -1073807315 : "VI_ERROR_QUEUE_OVERFLOW	 ",#(_VI_ERROR+0x3FFF002DL) #/* BFFF002D, */
 -1073807313 : "VI_ERROR_NENABLED		   ",#(_VI_ERROR+0x3FFF002FL) #/* BFFF002F, */
 -1073807312 : "VI_ERROR_ABORT			  ",#(_VI_ERROR+0x3FFF0030L) #/* BFFF0030, */
 -1073807308 : "VI_ERROR_RAW_WR_PROT_VIOL   ",#(_VI_ERROR+0x3FFF0034L) #/* BFFF0034, */
 -1073807307 : "VI_ERROR_RAW_RD_PROT_VIOL   ",#(_VI_ERROR+0x3FFF0035L) #/* BFFF0035, */
 -1073807306 : "VI_ERROR_OUTP_PROT_VIOL	 ",#(_VI_ERROR+0x3FFF0036L) #/* BFFF0036, */
 -1073807305 : "VI_ERROR_INP_PROT_VIOL	  ",#(_VI_ERROR+0x3FFF0037L) #/* BFFF0037, */
 -1073807304 : "VI_ERROR_BERR			   ",#(_VI_ERROR+0x3FFF0038L) #/* BFFF0038, */
 -1073807303 : "VI_ERROR_IN_PROGRESS		",#(_VI_ERROR+0x3FFF0039L) #/* BFFF0039, */
 -1073807302 : "VI_ERROR_INV_SETUP		  ",#(_VI_ERROR+0x3FFF003AL) #/* BFFF003A, */
 -1073807301 : "VI_ERROR_QUEUE_ERROR		",#(_VI_ERROR+0x3FFF003BL) #/* BFFF003B, */
 -1073807300 : "VI_ERROR_ALLOC			  ",#(_VI_ERROR+0x3FFF003CL) #/* BFFF003C, */
 -1073807299 : "VI_ERROR_INV_MASK		   ",#(_VI_ERROR+0x3FFF003DL) #/* BFFF003D, */
 -1073807298 : "VI_ERROR_IO				 ",#(_VI_ERROR+0x3FFF003EL) #/* BFFF003E, */
 -1073807297 : "VI_ERROR_INV_FMT			",#(_VI_ERROR+0x3FFF003FL) #/* BFFF003F, */
 -1073807295 : "VI_ERROR_NSUP_FMT		   ",#(_VI_ERROR+0x3FFF0041L) #/* BFFF0041, */
 -1073807294 : "VI_ERROR_LINE_IN_USE		",#(_VI_ERROR+0x3FFF0042L) #/* BFFF0042, */
 -1073807290 : "VI_ERROR_NSUP_MODE		  ",#(_VI_ERROR+0x3FFF0046L) #/* BFFF0046, */
 -1073807286 : "VI_ERROR_SRQ_NOCCURRED	  ",#(_VI_ERROR+0x3FFF004AL) #/* BFFF004A, */
 -1073807282 : "VI_ERROR_INV_SPACE		  ",#(_VI_ERROR+0x3FFF004EL) #/* BFFF004E, */
 -1073807279 : "VI_ERROR_INV_OFFSET		 ",#(_VI_ERROR+0x3FFF0051L) #/* BFFF0051, */
 -1073807278 : "VI_ERROR_INV_WIDTH		  ",#(_VI_ERROR+0x3FFF0052L) #/* BFFF0052, */
 -1073807276 : "VI_ERROR_NSUP_OFFSET		",#(_VI_ERROR+0x3FFF0054L) #/* BFFF0054, */
 -1073807275 : "VI_ERROR_NSUP_VAR_WIDTH	 ",#(_VI_ERROR+0x3FFF0055L) #/* BFFF0055, */
 -1073807273 : "VI_ERROR_WINDOW_NMAPPED	 ",#(_VI_ERROR+0x3FFF0057L) #/* BFFF0057, */
 -1073807271 : "VI_ERROR_RESP_PENDING	   ",#(_VI_ERROR+0x3FFF0059L) #/* BFFF0059, */
 -1073807265 : "VI_ERROR_NLISTENERS		 ",#(_VI_ERROR+0x3FFF005FL) #/* BFFF005F, */
 -1073807264 : "VI_ERROR_NCIC			   ",#(_VI_ERROR+0x3FFF0060L) #/* BFFF0060, */
 -1073807263 : "VI_ERROR_NSYS_CNTLR		 ",#(_VI_ERROR+0x3FFF0061L) #/* BFFF0061, */
 -1073807257 : "VI_ERROR_NSUP_OPER		  ",#(_VI_ERROR+0x3FFF0067L) #/* BFFF0067, */
 -1073807256 : "VI_ERROR_INTR_PENDING	   ",#(_VI_ERROR+0x3FFF0068L) #/* BFFF0068, */
 -1073807254 : "VI_ERROR_ASRL_PARITY		",#(_VI_ERROR+0x3FFF006AL) #/* BFFF006A, */
 -1073807253 : "VI_ERROR_ASRL_FRAMING	   ",#(_VI_ERROR+0x3FFF006BL) #/* BFFF006B, */
 -1073807252 : "VI_ERROR_ASRL_OVERRUN	   ",#(_VI_ERROR+0x3FFF006CL) #/* BFFF006C, */
 -1073807250 : "VI_ERROR_TRIG_NMAPPED	   ",#(_VI_ERROR+0x3FFF006EL) #/* BFFF006E, */
 -1073807248 : "VI_ERROR_NSUP_ALIGN_OFFSET  ",#(_VI_ERROR+0x3FFF0070L) #/* BFFF0070, */
 -1073807247 : "VI_ERROR_USER_BUF		   ",#(_VI_ERROR+0x3FFF0071L) #/* BFFF0071, */
 -1073807246 : "VI_ERROR_RSRC_BUSY		  ",#(_VI_ERROR+0x3FFF0072L) #/* BFFF0072, */
 -1073807242 : "VI_ERROR_NSUP_WIDTH		 ",#(_VI_ERROR+0x3FFF0076L) #/* BFFF0076, */
 -1073807240 : "VI_ERROR_INV_PARAMETER	  ",#(_VI_ERROR+0x3FFF0078L) #/* BFFF0078, */
 -1073807239 : "VI_ERROR_INV_PROT		   ",#(_VI_ERROR+0x3FFF0079L) #/* BFFF0079, */
 -1073807237 : "VI_ERROR_INV_SIZE		   ",#(_VI_ERROR+0x3FFF007BL) #/* BFFF007B, */
 -1073807232 : "VI_ERROR_WINDOW_MAPPED	  ",#(_VI_ERROR+0x3FFF0080L) #/* BFFF0080, */
 -1073807231 : "VI_ERROR_NIMPL_OPER		 ",#(_VI_ERROR+0x3FFF0081L) #/* BFFF0081, */
 -1073807229 : "VI_ERROR_INV_LENGTH		 ",#(_VI_ERROR+0x3FFF0083L) #/* BFFF0083, */
 -1073807215 : "VI_ERROR_INV_MODE		   ",#(_VI_ERROR+0x3FFF0091L) #/* BFFF0091, */
 -1073807204 : "VI_ERROR_SESN_NLOCKED	   ",#(_VI_ERROR+0x3FFF009CL) #/* BFFF009C, */
 -1073807203 : "VI_ERROR_MEM_NSHARED		",#(_VI_ERROR+0x3FFF009DL) #/* BFFF009D, */
 -1073807202 : "VI_ERROR_LIBRARY_NFOUND	 ",#(_VI_ERROR+0x3FFF009EL) #/* BFFF009E, */
 -1073807201 : "VI_ERROR_NSUP_INTR		  ",#(_VI_ERROR+0x3FFF009FL) #/* BFFF009F, */
 -1073807200 : "VI_ERROR_INV_LINE		   ",#(_VI_ERROR+0x3FFF00A0L) #/* BFFF00A0, */
 -1073807199 : "VI_ERROR_FILE_ACCESS		",#(_VI_ERROR+0x3FFF00A1L) #/* BFFF00A1, */
 -1073807198 : "VI_ERROR_FILE_IO			",#(_VI_ERROR+0x3FFF00A2L) #/* BFFF00A2, */
 -1073807197 : "VI_ERROR_NSUP_LINE		  ",#(_VI_ERROR+0x3FFF00A3L) #/* BFFF00A3, */
 -1073807196 : "VI_ERROR_NSUP_MECH		  ",#(_VI_ERROR+0x3FFF00A4L) #/* BFFF00A4, */
 -1073807195 : "VI_ERROR_INTF_NUM_NCONFIG   ",#(_VI_ERROR+0x3FFF00A5L) #/* BFFF00A5, */
 -1073807194 : "VI_ERROR_CONN_LOST		  ",#(_VI_ERROR+0x3FFF00A6L) #/* BFFF00A6, */
 -1073807193 : "VI_ERROR_MACHINE_NAVAIL	 ",#(_VI_ERROR+0x3FFF00A7L) #/* BFFF00A7, */
 -1073807192 : "VI_ERROR_NPERMISSION		",#(_VI_ERROR+0x3FFF00A8L) #/* B
 
#/*****************************************************************************/
#/*= Error constants   ivi.h											 ========= */ 
#/*****************************************************************************/

ERROR_BASE.IVI_STATUS_CODE_BASE				:"IVI_WARN_BASE				  ",		 
ERROR_BASE.IVI_WARN_BASE + 0x1000			:"IVI_CROSS_CLASS_WARN_BASE	  ",		 
ERROR_BASE.IVI_WARN_BASE + 0x2000			:"IVI_CLASS_WARN_BASE			",		 
ERROR_BASE.IVI_WARN_BASE + 0x4000			:"IVI_SPECIFIC_WARN_BASE		 ",		 
ERROR_BASE.IVI_WARN_BASE + 0x7FFF			:"IVI_MAX_SPECIFIC_WARN_CODE	 ",		 
ERROR_BASE.IVI_WARN_BASE + 0x6000			:"IVI_NI_WARN_BASE			   ",		 

ERROR_BASE._VI_ERROR + ERROR_BASE.IVI_STATUS_CODE_BASE	:"IVI_ERROR_BASE	 ",		 
ERROR_BASE.IVI_ERROR_BASE + 0x1000			:"IVI_CROSS_CLASS_ERROR_BASE	 ",		 
ERROR_BASE.IVI_ERROR_BASE + 0x2000			:"IVI_CLASS_ERROR_BASE		   ",		 
ERROR_BASE.IVI_ERROR_BASE + 0x4000			:"IVI_SPECIFIC_ERROR_BASE		",		 
ERROR_BASE.IVI_ERROR_BASE + 0x7FFF			:"IVI_MAX_SPECIFIC_ERROR_CODE	",		 
ERROR_BASE.IVI_ERROR_BASE + 0x6000			:"IVI_NI_ERROR_BASE			  ",		 
ERROR_BASE.IVI_ERROR_BASE + 0x1000			:"IVI_SHARED_COMPONENT_ERROR_BASE",		 

	#/* IVI Foundation defined warnings */
ERROR_BASE.IVI_WARN_BASE + 0x65 : "IVI_WARN_NSUP_ID_QUERY	",			  
ERROR_BASE.IVI_WARN_BASE + 0x66 : "IVI_WARN_NSUP_RESET	   ",			  
ERROR_BASE.IVI_WARN_BASE + 0x67 : "IVI_WARN_NSUP_SELF_TEST   ",			  
ERROR_BASE.IVI_WARN_BASE + 0x68 : "IVI_WARN_NSUP_ERROR_QUERY ",			  
ERROR_BASE.IVI_WARN_BASE + 0x69 : "IVI_WARN_NSUP_REV_QUERY   ",			  

	#/* IVI Foundation defined errors */
 ERROR_BASE.IVI_ERROR_BASE + 0x00 :"IVI_ERROR_CANNOT_RECOVER				",
 ERROR_BASE.IVI_ERROR_BASE + 0x01 :"IVI_ERROR_INSTRUMENT_STATUS			 ",
 ERROR_BASE.IVI_ERROR_BASE + 0x02 :"IVI_ERROR_CANNOT_OPEN_FILE			  ",
 ERROR_BASE.IVI_ERROR_BASE + 0x03 :"IVI_ERROR_READING_FILE				  ",			
 ERROR_BASE.IVI_ERROR_BASE + 0x04 :"IVI_ERROR_WRITING_FILE				  ",			
 ERROR_BASE.IVI_ERROR_BASE + 0x0B :"IVI_ERROR_INVALID_PATHNAME			  ",
 ERROR_BASE.IVI_ERROR_BASE + 0x0C :"IVI_ERROR_INVALID_ATTRIBUTE			 ",
 ERROR_BASE.IVI_ERROR_BASE + 0x0D :"IVI_ERROR_IVI_ATTR_NOT_WRITABLE		 ",
 ERROR_BASE.IVI_ERROR_BASE + 0x0E :"IVI_ERROR_IVI_ATTR_NOT_READABLE		 ",
 ERROR_BASE.IVI_ERROR_BASE + 0x10 :"IVI_ERROR_INVALID_VALUE				 ",
 ERROR_BASE.IVI_ERROR_BASE + 0x11 :"IVI_ERROR_FUNCTION_NOT_SUPPORTED		", 
 ERROR_BASE.IVI_ERROR_BASE + 0x12 :"IVI_ERROR_ATTRIBUTE_NOT_SUPPORTED	   ",
 ERROR_BASE.IVI_ERROR_BASE + 0x13 :"IVI_ERROR_VALUE_NOT_SUPPORTED		   ",
 ERROR_BASE.IVI_ERROR_BASE + 0x15 :"IVI_ERROR_TYPES_DO_NOT_MATCH			",
 ERROR_BASE.IVI_ERROR_BASE + 0x1D :"IVI_ERROR_NOT_INITIALIZED			   ",
 ERROR_BASE.IVI_ERROR_BASE + 0x20 :"IVI_ERROR_UNKNOWN_CHANNEL_NAME		  ",
 ERROR_BASE.IVI_ERROR_BASE + 0x23 :"IVI_ERROR_TOO_MANY_OPEN_FILES		   ",
 ERROR_BASE.IVI_ERROR_BASE + 0x44 :"IVI_ERROR_CHANNEL_NAME_REQUIRED		 ",
 ERROR_BASE.IVI_ERROR_BASE + 0x45 :"IVI_ERROR_CHANNEL_NAME_NOT_ALLOWED	  ",
 ERROR_BASE.IVI_ERROR_BASE + 0x49 :"IVI_ERROR_MISSING_OPTION_NAME		   ",
 ERROR_BASE.IVI_ERROR_BASE + 0x4A :"IVI_ERROR_MISSING_OPTION_VALUE		  ",
 ERROR_BASE.IVI_ERROR_BASE + 0x4B :"IVI_ERROR_BAD_OPTION_NAME			   ",
 ERROR_BASE.IVI_ERROR_BASE + 0x4C :"IVI_ERROR_BAD_OPTION_VALUE			  ",
 ERROR_BASE.IVI_ERROR_BASE + 0x56 :"IVI_ERROR_OUT_OF_MEMORY				 ",
 ERROR_BASE.IVI_ERROR_BASE + 0x57 :"IVI_ERROR_OPERATION_PENDING			 ",
 ERROR_BASE.IVI_ERROR_BASE + 0x58 :"IVI_ERROR_NULL_POINTER				  ",
 ERROR_BASE.IVI_ERROR_BASE + 0x59 :"IVI_ERROR_UNEXPECTED_RESPONSE		   ",
 ERROR_BASE.IVI_ERROR_BASE + 0x5B :"IVI_ERROR_FILE_NOT_FOUND				",
 ERROR_BASE.IVI_ERROR_BASE + 0x5C :"IVI_ERROR_INVALID_FILE_FORMAT		   ",
 ERROR_BASE.IVI_ERROR_BASE + 0x5D :"IVI_ERROR_STATUS_NOT_AVAILABLE		  ",
 ERROR_BASE.IVI_ERROR_BASE + 0x5E :"IVI_ERROR_ID_QUERY_FAILED			   ",
 ERROR_BASE.IVI_ERROR_BASE + 0x5F :"IVI_ERROR_RESET_FAILED				  ",
 ERROR_BASE.IVI_ERROR_BASE + 0x60 :"IVI_ERROR_RESOURCE_UNKNOWN			  ",
 ERROR_BASE.IVI_ERROR_BASE + 0x62 :"IVI_ERROR_CANNOT_CHANGE_SIMULATION_STATE	   	",
 ERROR_BASE.IVI_ERROR_BASE + 0x63 :"IVI_ERROR_INVALID_NUMBER_OF_LEVELS_IN_SELECTOR 	",
 ERROR_BASE.IVI_ERROR_BASE + 0x64 :"IVI_ERROR_INVALID_RANGE_IN_SELECTOR	 		",
 ERROR_BASE.IVI_ERROR_BASE + 0x65 :"IVI_ERROR_UNKOWN_NAME_IN_SELECTOR	   		",
 ERROR_BASE.IVI_ERROR_BASE + 0x66 :"IVI_ERROR_BADLY_FORMED_SELECTOR		 		",
 ERROR_BASE.IVI_ERROR_BASE + 0x67 :"IVI_ERROR_UNKNOWN_PHYSICAL_IDENTIFIER   		",

#/* IVI Foundation reserved (grandfathered) errors */
 ERROR_BASE.IVI_ERROR_BASE + 0x05 : "IVI_ERROR_DRIVER_MODULE_NOT_FOUND	   ",
 ERROR_BASE.IVI_ERROR_BASE + 0x06 : "IVI_ERROR_CANNOT_OPEN_DRIVER_MODULE	 ",			
 ERROR_BASE.IVI_ERROR_BASE + 0x07 : "IVI_ERROR_INVALID_DRIVER_MODULE		 ",
 ERROR_BASE.IVI_ERROR_BASE + 0x08 : "IVI_ERROR_UNDEFINED_REFERENCES		  ",
 ERROR_BASE.IVI_ERROR_BASE + 0x09 : "IVI_ERROR_FUNCTION_NOT_FOUND			",
 ERROR_BASE.IVI_ERROR_BASE + 0x0A : "IVI_ERROR_LOADING_DRIVER_MODULE		 ",
 ERROR_BASE.IVI_ERROR_BASE + 0x0F : "IVI_ERROR_INVALID_PARAMETER			 ",
 ERROR_BASE.IVI_ERROR_BASE + 0x14 : "IVI_ERROR_INVALID_TYPE				  ",
 ERROR_BASE.IVI_ERROR_BASE + 0x16 : "IVI_ERROR_MULTIPLE_DEFERRED_SETTING	 ",
 ERROR_BASE.IVI_ERROR_BASE + 0x17 : "IVI_ERROR_ITEM_ALREADY_EXISTS		   ",
 ERROR_BASE.IVI_ERROR_BASE + 0x18 : "IVI_ERROR_INVALID_CONFIGURATION		 ",  
 ERROR_BASE.IVI_ERROR_BASE + 0x19 : "IVI_ERROR_VALUE_NOT_AVAILABLE		   ",
 ERROR_BASE.IVI_ERROR_BASE + 0x1A : "IVI_ERROR_ATTRIBUTE_VALUE_NOT_KNOWN	 ", 
 ERROR_BASE.IVI_ERROR_BASE + 0x1B : "IVI_ERROR_NO_RANGE_TABLE				",
 ERROR_BASE.IVI_ERROR_BASE + 0x1C : "IVI_ERROR_INVALID_RANGE_TABLE		   ",
 ERROR_BASE.IVI_ERROR_BASE + 0x1E : "IVI_ERROR_NON_INTERCHANGEABLE_BEHAVIOR  ",
 ERROR_BASE.IVI_ERROR_BASE + 0x1F : "IVI_ERROR_NO_CHANNEL_TABLE			  ",
 ERROR_BASE.IVI_ERROR_BASE + 0x21 : "IVI_ERROR_SYS_RSRC_ALLOC				",
 ERROR_BASE.IVI_ERROR_BASE + 0x22 : "IVI_ERROR_ACCESS_DENIED				 ",
 ERROR_BASE.IVI_ERROR_BASE + 0x24 : "IVI_ERROR_UNABLE_TO_CREATE_TEMP_FILE	",
 ERROR_BASE.IVI_ERROR_BASE + 0x25 : "IVI_ERROR_NO_UNUSED_TEMP_FILENAMES	  ",
 ERROR_BASE.IVI_ERROR_BASE + 0x26 : "IVI_ERROR_DISK_FULL					 ",
 ERROR_BASE.IVI_ERROR_BASE + 0x27 : "IVI_ERROR_CONFIG_FILE_NOT_FOUND		 ",
 ERROR_BASE.IVI_ERROR_BASE + 0x28 : "IVI_ERROR_CANNOT_OPEN_CONFIG_FILE	   ",
 ERROR_BASE.IVI_ERROR_BASE + 0x29 : "IVI_ERROR_ERROR_READING_CONFIG_FILE	 ",
 ERROR_BASE.IVI_ERROR_BASE + 0x2A : "IVI_ERROR_BAD_INTEGER_IN_CONFIG_FILE	",
 ERROR_BASE.IVI_ERROR_BASE + 0x2B : "IVI_ERROR_BAD_DOUBLE_IN_CONFIG_FILE	 ",
 ERROR_BASE.IVI_ERROR_BASE + 0x2C : "IVI_ERROR_BAD_BOOLEAN_IN_CONFIG_FILE	",
 ERROR_BASE.IVI_ERROR_BASE + 0x2D : "IVI_ERROR_CONFIG_ENTRY_NOT_FOUND		",
 ERROR_BASE.IVI_ERROR_BASE + 0x2E : "IVI_ERROR_DRIVER_DLL_INIT_FAILED		",
 ERROR_BASE.IVI_ERROR_BASE + 0x2F : "IVI_ERROR_DRIVER_UNRESOLVED_SYMBOL	  ",
 ERROR_BASE.IVI_ERROR_BASE + 0x30 : "IVI_ERROR_CANNOT_FIND_CVI_RTE		   ",
 ERROR_BASE.IVI_ERROR_BASE + 0x31 : "IVI_ERROR_CANNOT_OPEN_CVI_RTE		   ",
 ERROR_BASE.IVI_ERROR_BASE + 0x32 : "IVI_ERROR_CVI_RTE_INVALID_FORMAT		",
 ERROR_BASE.IVI_ERROR_BASE + 0x33 : "IVI_ERROR_CVI_RTE_MISSING_FUNCTION	  ",
 ERROR_BASE.IVI_ERROR_BASE + 0x34 : "IVI_ERROR_CVI_RTE_INIT_FAILED		   ",
 ERROR_BASE.IVI_ERROR_BASE + 0x35 : "IVI_ERROR_CVI_RTE_UNRESOLVED_SYMBOL	 ",
 ERROR_BASE.IVI_ERROR_BASE + 0x36 : "IVI_ERROR_LOADING_CVI_RTE			   ",
 ERROR_BASE.IVI_ERROR_BASE + 0x37 : "IVI_ERROR_CANNOT_OPEN_DLL_FOR_EXPORTS   ",
 ERROR_BASE.IVI_ERROR_BASE + 0x38 : "IVI_ERROR_DLL_CORRUPTED				 ",
 ERROR_BASE.IVI_ERROR_BASE + 0x39 : "IVI_ERROR_NO_DLL_EXPORT_TABLE		   ",
 ERROR_BASE.IVI_ERROR_BASE + 0x3A : "IVI_ERROR_UNKNOWN_DEFAULT_SETUP_ATTR	",
 ERROR_BASE.IVI_ERROR_BASE + 0x3B : "IVI_ERROR_INVALID_DEFAULT_SETUP_VAL	 ",
 ERROR_BASE.IVI_ERROR_BASE + 0x3C : "IVI_ERROR_UNKNOWN_MEMORY_PTR			",
 ERROR_BASE.IVI_ERROR_BASE + 0x3D : "IVI_ERROR_EMPTY_CHANNEL_LIST			",
 ERROR_BASE.IVI_ERROR_BASE + 0x3E : "IVI_ERROR_DUPLICATE_CHANNEL_STRING	  ",
 ERROR_BASE.IVI_ERROR_BASE + 0x3F : "IVI_ERROR_DUPLICATE_VIRT_CHAN_NAME	  ",
 ERROR_BASE.IVI_ERROR_BASE + 0x40 : "IVI_ERROR_MISSING_VIRT_CHAN_NAME		",
 ERROR_BASE.IVI_ERROR_BASE + 0x41 : "IVI_ERROR_BAD_VIRT_CHAN_NAME			",
 ERROR_BASE.IVI_ERROR_BASE + 0x42 : "IVI_ERROR_UNASSIGNED_VIRT_CHAN_NAME	 ",
 ERROR_BASE.IVI_ERROR_BASE + 0x43 : "IVI_ERROR_BAD_VIRT_CHAN_ASSIGNMENT	  ",
 ERROR_BASE.IVI_ERROR_BASE + 0x46 : "IVI_ERROR_ATTR_NOT_VALID_FOR_CHANNEL	",
 ERROR_BASE.IVI_ERROR_BASE + 0x47 : "IVI_ERROR_ATTR_MUST_BE_CHANNEL_BASED	",
 ERROR_BASE.IVI_ERROR_BASE + 0x48 : "IVI_ERROR_CHANNEL_ALREADY_EXCLUDED	  ",
 ERROR_BASE.IVI_ERROR_BASE + 0x4D : "IVI_ERROR_NOT_CREATED_BY_CLASS		  ",
 ERROR_BASE.IVI_ERROR_BASE + 0x4E : "IVI_ERROR_IVI_INI_IS_RESERVED		   ",
 ERROR_BASE.IVI_ERROR_BASE + 0x4F : "IVI_ERROR_DUP_RUNTIME_CONFIG_ENTRY	  ",
 ERROR_BASE.IVI_ERROR_BASE + 0x50 : "IVI_ERROR_INDEX_IS_ONE_BASED			",
 ERROR_BASE.IVI_ERROR_BASE + 0x51 : "IVI_ERROR_INDEX_IS_TOO_HIGH			 ",
 ERROR_BASE.IVI_ERROR_BASE + 0x52 : "IVI_ERROR_ATTR_NOT_CACHEABLE			", 
 ERROR_BASE.IVI_ERROR_BASE + 0x53 : "IVI_ERROR_ADDR_ATTRS_MUST_BE_HIDDEN	 ", 
 ERROR_BASE.IVI_ERROR_BASE + 0x54 : "IVI_ERROR_BAD_CHANNEL_NAME			  ",
 ERROR_BASE.IVI_ERROR_BASE + 0x55 : "IVI_ERROR_BAD_PREFIX_IN_CONFIG_FILE	 ",

#/* NI-Specific errors */
 ERROR_BASE.IVI_NI_ERROR_BASE + 0	: "IVI_ERROR_CANNOT_MODIFY_REPEATED_CAPABILITY_TABLE  ",
 ERROR_BASE.IVI_NI_ERROR_BASE + 1	: "IVI_ERROR_CANNOT_RESTRICT_ATTRIBUTE_TWICE		  ",
 ERROR_BASE.IVI_NI_ERROR_BASE + 2	: "IVI_ERROR_REPEATED_CAPABILITY_ALREADY_EXISTS	   ",
 ERROR_BASE.IVI_NI_ERROR_BASE + 3	: "IVI_ERROR_REPEATED_CAPABILITY_NOT_DEFINED		  ",
 ERROR_BASE.IVI_NI_ERROR_BASE + 4	: "IVI_ERROR_INVALID_REPEATED_CAPABILITY_NAME		 ",
 ERROR_BASE.IVI_NI_ERROR_BASE + 0xD : "IVI_ERROR_CONFIG_SERVER_NOT_PRESENT				",

#/* NI-Specific renamed errors.  */
# IVI_ERROR_REPEATED_CAPABILITY_NAME_REQUIRED		IVI_ERROR_CHANNEL_NAME_REQUIRED
# IVI_ERROR_UNKNOWN_REPEATED_CAPABILITY_NAME		 IVI_ERROR_UNKNOWN_CHANNEL_NAME
# IVI_ERROR_EMPTY_REPEATED_CAPABILITY_LIST		   IVI_ERROR_EMPTY_CHANNEL_LIST
# IVI_ERROR_DUPLICATE_REPEATED_CAPABILITY_IDENTIFIER IVI_ERROR_DUPLICATE_CHANNEL_STRING
# IVI_ERROR_REPEATED_CAPABILITY_NAME_NOT_ALLOWED	 IVI_ERROR_CHANNEL_NAME_NOT_ALLOWED
# IVI_ERROR_ATTR_NOT_VALID_FOR_REPEATED_CAPABILITY   IVI_ERROR_ATTR_NOT_VALID_FOR_CHANNEL
# IVI_ERROR_ATTR_MUST_BE_REPEATED_CAPABILITY_BASED   IVI_ERROR_ATTR_MUST_BE_CHANNEL_BASED
# IVI_ERROR_BAD_REPEATED_CAPABILITY_NAME			 IVI_ERROR_BAD_CHANNEL_NAME
		
#/*  renamed errors. Do not use these identifiers in your drivers and applications. */
 ERROR_BASE.IVI_ERROR_BASE + 0x00 : "IVI_ERROR_CANNOT_LOAD_IVI_ENGINE",		
 ERROR_BASE.IVI_ERROR_BASE + 0x01 : "IVI_ERROR_INSTR_SPECIFIC		",		
 ERROR_BASE.IVI_ERROR_BASE + 0x23 : "IVI_ERROR_TOO_MANY_FILES_OPEN   ",		

#/*  obsolete errors. Do not use these identifiers in your drivers and applications. */
 ERROR_BASE.IVI_ERROR_BASE + 0x61 : "IVI_ERROR_ALREADY_INITIALIZED   ",
#################################################################################### 
#vpptype.h
####################################################################################

ERROR_BASE._VI_ERROR+0x3FFC0001 : "LVI_ERROR_PARAMETER1   ",
ERROR_BASE._VI_ERROR+0x3FFC0002 : "LVI_ERROR_PARAMETER2   ",
ERROR_BASE._VI_ERROR+0x3FFC0003 : "LVI_ERROR_PARAMETER3   ",
ERROR_BASE._VI_ERROR+0x3FFC0004 : "LVI_ERROR_PARAMETER4   ",
ERROR_BASE._VI_ERROR+0x3FFC0005 : "LVI_ERROR_PARAMETER5   ",
ERROR_BASE._VI_ERROR+0x3FFC0006 : "LVI_ERROR_PARAMETER6   ",
ERROR_BASE._VI_ERROR+0x3FFC0007 : "LVI_ERROR_PARAMETER7   ",
ERROR_BASE._VI_ERROR+0x3FFC0008 : "LVI_ERROR_PARAMETER8   ",
ERROR_BASE._VI_ERROR+0x3FFC0011 : "LVI_ERROR_FAIL_ID_QUERY",
ERROR_BASE._VI_ERROR+0x3FFC0012 : "LVI_ERROR_INV_RESPONSE "
 
 
 }
 
WARNINGS = {
	1073676290 : "VI_SUCCESS_EVENT_EN		 ",#		  (0x3FFF0002L)
	1073676291 : "VI_SUCCESS_EVENT_DIS		",#		  (0x3FFF0003L)
	1073676292 : "VI_SUCCESS_QUEUE_EMPTY	  ",#		  (0x3FFF0004L)
	1073676293 : "VI_SUCCESS_TERM_CHAR		",#		  (0x3FFF0005L)
	1073676294 : "VI_SUCCESS_MAX_CNT		  ",#		  (0x3FFF0006L)
	1073676413 : "VI_SUCCESS_DEV_NPRESENT	 ",#		  (0x3FFF007DL)
	1073676414 : "VI_SUCCESS_TRIG_MAPPED	  ",#		  (0x3FFF007EL)
	1073676416 : "VI_SUCCESS_QUEUE_NEMPTY	 ",#		  (0x3FFF0080L)
	1073676440 : "VI_SUCCESS_NCHAIN		   ",#		  (0x3FFF0098L)
	1073676441 : "VI_SUCCESS_NESTED_SHARED	",#		  (0x3FFF0099L)
	1073676442 : "VI_SUCCESS_NESTED_EXCLUSIVE ",#		  (0x3FFF009AL)
	1073676443 : "VI_SUCCESS_SYNC			 ",#		  (0x3FFF009BL)
	
	1073676300 : "VI_WARN_QUEUE_OVERFLOW	  ",#		  (0x3FFF000CL)
	1073676407 : "VI_WARN_CONFIG_NLOADED	  ",#		  (0x3FFF0077L)
	1073676418 : "VI_WARN_NULL_OBJECT		 ",#		  (0x3FFF0082L)
	1073676420 : "VI_WARN_NSUP_ATTR_STATE	 ",#		  (0x3FFF0084L)
	1073676421 : "VI_WARN_UNKNOWN_STATUS	  ",#		  (0x3FFF0085L)
	1073676424 : "VI_WARN_NSUP_BUF			",#		  (0x3FFF0088L)
	1073676457 : "VI_WARN_EXT_FUNC_NIMPL	  ",#		  (0x3FFF00A9L)

#################################################################################### 
#vpptype.h
####################################################################################
	0x3FFC0101 : "LVI_WARN_NSUP_ID_QUERY   ",
	0x3FFC0102 : "LVI_WARN_NSUP_RESET	  ",
	0x3FFC0103 : "LVI_WARN_NSUP_SELF_TEST  ",
	0x3FFC0104 : "LVI_WARN_NSUP_ERROR_QUERY",
	0x3FFC0105 : "LVI_WARN_NSUP_REV_QUERY  "
}